// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package org.achartengine.chart;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import java.util.ArrayList;
import java.util.List;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
// Referenced classes of package org.achartengine.chart:
// XYChart, ScatterChart, ClickableArea, a,
// PointStyle
public class LineChart extends XYChart
{
public static final String TYPE = "Line";
private static final int a = 30;
private ScatterChart b;
LineChart()
{
}
public LineChart(XYMultipleSeriesDataset xymultipleseriesdataset, XYMultipleSeriesRenderer xymultipleseriesrenderer)
{
super(xymultipleseriesdataset, xymultipleseriesrenderer);
b = new ScatterChart(xymultipleseriesdataset, xymultipleseriesrenderer);
}
protected ClickableArea[] clickableAreasForPoints(List list, List list1, float f, int i, int j)
{
int k = list.size();
ClickableArea aclickablearea[] = new ClickableArea[k / 2];
for (int l = 0; l < k; l += 2)
{
int i1 = mRenderer.getSelectableBuffer();
aclickablearea[l / 2] = new ClickableArea(new RectF(((Float)list.get(l)).floatValue() - (float)i1, ((Float)list.get(l + 1)).floatValue() - (float)i1, ((Float)list.get(l)).floatValue() + (float)i1, ((Float)list.get(l + 1)).floatValue() + (float)i1), ((Double)list1.get(l)).doubleValue(), ((Double)list1.get(l + 1)).doubleValue());
}
return aclickablearea;
}
public void drawLegendShape(Canvas canvas, SimpleSeriesRenderer simpleseriesrenderer, float f, float f1, int i, Paint paint)
{
canvas.drawLine(f, f1, f + 30F, f1, paint);
if (isRenderPoints(simpleseriesrenderer))
{
b.drawLegendShape(canvas, simpleseriesrenderer, f + 5F, f1, i, paint);
}
}
public void drawSeries(Canvas canvas, Paint paint, List list, SimpleSeriesRenderer simpleseriesrenderer, float f, int i, int j)
{
float f1;
org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine afilloutsideline[];
int k;
int l;
XYSeriesRenderer xyseriesrenderer = (XYSeriesRenderer)simpleseriesrenderer;
f1 = paint.getStrokeWidth();
paint.setStrokeWidth(xyseriesrenderer.getLineWidth());
afilloutsideline = xyseriesrenderer.getFillOutsideLine();
k = afilloutsideline.length;
l = 0;
_L10:
if (l >= k) goto _L2; else goto _L1
_L1:
org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine filloutsideline;
ArrayList arraylist;
filloutsideline = afilloutsideline[l];
if (filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.NONE)
{
continue; /* Loop/switch isn't completed */
}
paint.setColor(filloutsideline.getColor());
arraylist = new ArrayList();
int ai[] = filloutsideline.getFillRange();
if (ai == null)
{
arraylist.addAll(list);
} else
{
arraylist.addAll(list.subList(2 * ai[0], 2 * ai[1]));
}
a.a[filloutsideline.getType().ordinal()];
JVM INSTR tableswitch 1 5: default 148
// 1 187
// 2 561
// 3 568
// 4 575
// 5 585;
goto _L3 _L4 _L5 _L6 _L7 _L8
_L8:
break MISSING_BLOCK_LABEL_585;
_L3:
throw new RuntimeException("You have added a new type of filling but have not implemented.");
_L4:
float f2;
f2 = f;
break MISSING_BLOCK_LABEL_191;
_L5:
f2 = f;
goto _L9
_L6:
f2 = f;
goto _L9
_L7:
f2 = canvas.getHeight();
goto _L9
f2 = 0.0F;
_L9:
if (filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE || filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW)
{
ArrayList arraylist1 = new ArrayList();
boolean flag;
int i1;
boolean flag1;
int j1;
int k1;
if (filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE && ((Float)arraylist.get(1)).floatValue() < f2 || filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW && ((Float)arraylist.get(1)).floatValue() > f2)
{
arraylist1.add(arraylist.get(0));
arraylist1.add(arraylist.get(1));
flag = true;
} else
{
flag = false;
}
i1 = 3;
flag1 = flag;
while (i1 < arraylist.size())
{
float f3 = ((Float)arraylist.get(i1 - 2)).floatValue();
float f4 = ((Float)arraylist.get(i1)).floatValue();
int l1;
boolean flag2;
if (f3 < f2 && f4 > f2 || f3 > f2 && f4 < f2)
{
float f5 = ((Float)arraylist.get(i1 - 3)).floatValue();
float f6 = ((Float)arraylist.get(i1 - 1)).floatValue();
arraylist1.add(Float.valueOf(f5 + ((f6 - f5) * (f2 - f3)) / (f4 - f3)));
arraylist1.add(Float.valueOf(f2));
int i2;
boolean flag3;
int j2;
if (filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE && f4 > f2 || filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW && f4 < f2)
{
i1 += 2;
flag3 = false;
} else
{
arraylist1.add(Float.valueOf(f6));
arraylist1.add(Float.valueOf(f4));
flag3 = true;
}
j2 = i1;
flag2 = flag3;
l1 = j2;
} else
{
if (flag1 || filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE && f4 < f2 || filloutsideline.getType() == org.achartengine.renderer.XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW && f4 > f2)
{
arraylist1.add(arraylist.get(i1 - 1));
arraylist1.add(Float.valueOf(f4));
}
l1 = i1;
flag2 = flag1;
}
i2 = l1 + 2;
flag1 = flag2;
i1 = i2;
}
arraylist.clear();
arraylist.addAll(arraylist1);
}
j1 = arraylist.size();
arraylist.set(0, Float.valueOf(1.0F + ((Float)arraylist.get(0)).floatValue()));
arraylist.add(arraylist.get(j1 - 2));
arraylist.add(Float.valueOf(f2));
arraylist.add(arraylist.get(0));
arraylist.add(arraylist.get(j1 + 1));
for (k1 = 0; k1 < j1 + 4; k1 += 2)
{
if (((Float)arraylist.get(k1 + 1)).floatValue() < 0.0F)
{
arraylist.set(k1 + 1, Float.valueOf(0.0F));
}
}
paint.setStyle(android.graphics.Paint.Style.FILL);
drawPath(canvas, arraylist, paint, true);
l++;
goto _L10
_L2:
paint.setColor(simpleseriesrenderer.getColor());
paint.setStyle(android.graphics.Paint.Style.STROKE);
drawPath(canvas, list, paint, false);
paint.setStrokeWidth(f1);
return;
}
public String getChartType()
{
return "Line";
}
public int getLegendShapeWidth(int i)
{
return 30;
}
public ScatterChart getPointsChart()
{
return b;
}
public boolean isRenderPoints(SimpleSeriesRenderer simpleseriesrenderer)
{
return ((XYSeriesRenderer)simpleseriesrenderer).getPointStyle() != PointStyle.POINT;
}
protected void setDatasetRenderer(XYMultipleSeriesDataset xymultipleseriesdataset, XYMultipleSeriesRenderer xymultipleseriesrenderer)
{
super.setDatasetRenderer(xymultipleseriesdataset, xymultipleseriesrenderer);
b = new ScatterChart(xymultipleseriesdataset, xymultipleseriesrenderer);
}
}